package com.toubutu.audio.auth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.toubutu.audio.admin.dto.LoginDto;
import com.toubutu.audio.admin.dto.RegisterDto;
import com.toubutu.audio.admin.entity.User;
import com.toubutu.audio.admin.vo.LoginUserInfo;
import com.toubutu.audio.admin.vo.UserAuthVo;
import com.toubutu.audio.dto.ChangeBindEmailDto;
import com.toubutu.audio.dto.UpdatePasswordDto;
import com.toubutu.audio.dto.UserProfileDto;
import com.toubutu.entity.TokenEntity;


/**
 * @author 戒躁
 * @version 1.0
 * @date 2023年10月30日 15:53
 */
public interface UserAuthService extends IService<User> {
    TokenEntity passwordLogin(LoginDto loginDto);

    void userRegister(RegisterDto registerDto);

    UserAuthVo getLoginUserInfo(String accessToken, String from);

    /**
     * 更改用户个人信息
     * @param userProfileDto 个人信息
     */
    void updateUserInfo(UserProfileDto userProfileDto);

    void logout(String accessToken);

    void updateBindEmail(ChangeBindEmailDto bindEmailDto);

    void updatePassword(UpdatePasswordDto updatePasswordDto);
}
